package com.capgemini.fs.app.ekms.service;

import java.util.List;

import com.capgemini.fs.app.ekms.model.Role;
import com.capgemini.fs.app.ekms.model.User;

public interface UserService extends Service {
	
	public void createUser(User user);

	public User getUserByName(String name);

	public void addRoleToUser(User user, Role role);

	public boolean verifyUser(User user);

	boolean isValidUser(String username, String password);

	void updateUser(User User);

	public List<User> getAllUsers();

	public User getUserById(Integer id);

	List<User> queryUser(final String firstName, final String lastName,
			final String userName, final Integer status);

	List<User> queryUser(final String firstName, final String lastName,
			final String userName, final Integer status, final String email,
			final String phoneNumber, final Integer memberType,
			final List<String> roles, final List<String> groups);

	public Integer joinForum(Integer userId, Integer forumId);
	
	public void leaveForum(Integer userId,Integer forumId);
	
}
